package mspbots.cw.business.core.tickets;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import mspbots.cw.business.core.BaseTenantEntity;
import org.springframework.data.relational.core.mapping.Table;

import java.time.LocalDateTime;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Table("task_cw_ticket")
public class Tickets extends BaseTenantEntity {

    private Long ticketId;
    private Long cwUid;
    private String statusName;
    private String typeName;
    private String subTypeName;
    private Long boardId;
    private String boardName;
    private String summary;
    private String updatedBy;
    private LocalDateTime updatedTime;
    private LocalDateTime syncTime;
    private String action;
    private Integer count;
    private Integer clickedCount;
    private Boolean hasConfigurations;
    private Long priorityId;
    private String priorityName;
    private Boolean timeentryResolutionFlag;
    private Boolean noteResolutionFlag;
    private String recordType;

    private Long companyId;
    private String companyName;
    private Boolean customerUpdatedFlag;
    private LocalDateTime dateEntered;
    private LocalDateTime dateResponded;
    private LocalDateTime dateResplan;
    private LocalDateTime dateResolved;
    private Integer resPlanMinutes;
    private Integer respondMinutes;
    private Boolean closedFlag;
    private Boolean resolutionFlag;
    private String agreementType;
    private String agreementName;
    private String contactName;
    private String resources;
    private String closedBy;
    private LocalDateTime closedDate;
    private Long slaId;
    private String slaName;
    private String ownerIdentifier;
    private String ownerName;
    private Long parentTicketId;

    private String severity;
    private Boolean approved;
    private String enteredBy;
    private Long sourceId;
    private String sourceName;
    private Long siteId;
    private String siteName;
    private String impact;
    private Boolean isInSla;
    private Long locationId;
    private String locationName;

    private Boolean hasMergedChildTicketFlag;
    private LocalDateTime lastUpdated;
    private Long serviceLocationId;
    private String serviceLocationName;
    private String teamName;
    private LocalDateTime consumeTime;
    private LocalDateTime requiredDate;

    private Double actualHours;
    private Long itemId;
    private String itemName;
    private String city;
    private String link;
    private Long resolveMinutes;

}
